package com.itheima.wait;

public class Cook extends Thread{
    @Override
    public void run() {
        /*
        1.循环
        2.同步代码块
        3.判断共享数据是否到达了末尾（到了末尾）
        4.判断共享数据是否到达了末尾（没有到达末尾）
         */
        while (true){
            synchronized (Desk.lock){
                if(Desk.count == 0){
                    break;
                }else{
                    if (Desk.foodFlag == 1){
                        //有食物厨师就进行等待
                        try {
                            Desk.lock.wait();
                        } catch (InterruptedException e) {
                            throw new RuntimeException(e);
                        }
                    }else{
                        System.out.println("厨师做了一碗面条");
                        //修改食物的状态
                        Desk.foodFlag = 1;
                        //进行唤醒
                        Desk.lock.notify();
                    }
                }
            }
        }
    }
}
